package com.ziyun.erp.modules.goodsCraftPrice.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;

import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

/**
 * 工艺价格表
 * 
 * @author zh
 * @email 296588519@qq.com
 * @date 2018-09-10 10:43:12
 */
@TableName("goods_craft_price")
public class GoodsCraftPriceEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 工艺价id
	 */
	@TableId
	private Integer craftPriceId;

	/**
	 * 模板id
	 */
	private Integer templateId;

	/**
	 * 影响工艺价的选项
	 */
	private Integer influenceId;

	/**
	 * 影响工艺价的选项名称
	 */
	@TableField(exist = false)
	private String influenceName;

	/**
	 * 工艺选项来源（standard_craft标品工艺、quote_craft报价工艺
	 */
	private String optionOrigin;

	/**
	 * 商户id
	 */
	private Long sellerId;
	/**
	 * 工艺选项id
	 */
	@NotNull(message = "工艺选项不能为空")
	private Long optionId;
	/**
	 * 工艺选项名称
	 */
	@TableField(exist = false)
	private String optionName;

	/**
	 * 选项值
	 */
	@TableField(exist = false)
	private String optionValue;


	/**
	 * 工艺单价
	 */
	@NotNull(message = "单价不能为空")
	@Min(value = 0, message = "单价必须为数字且不小于0")
	private BigDecimal unitPrice;
	/**
	 * 工艺单价起步价
	 */
	@NotNull(message = "单价起步价不能为空")
	@Min(value = 0, message = "单价起步价必须为数字且不小于0")
	private BigDecimal minUnitPrice;


	/**
	 * 工艺价计算尺寸（数码快印组合计价）
	 */
	private String craftSize;

	/**
	 * 工艺起步价
	 */
	@NotNull(message = "工艺起步价不能为空")
	@Min(value = 0, message = "工艺起步价必须为数字且不小于0")
	private BigDecimal minBeginPrice;
	/**
	 * 模板费
	 */
	@NotNull(message = "工艺起步价不能为空")
	@Min(value = 0, message = "工艺起步价必须为数字且不小于0")
	private BigDecimal fixedPrice;
	/**
	 * 利润系数
	 */
	@NotNull(message = "利润系数不能为空")
	@Min(value = 0, message = "利润系数必须为数字且不小于0")
	private BigDecimal floatCoefficient;
	/**
	 * 阶梯价系数
	 */
	private String stepPrice;
	/**
	 * 创建人
	 */
	private String createName;
	/**
	 * 创建时间
	 */
	private Date createTime;

	/**
	 * 设置：工艺价id
	 */
	public void setCraftPriceId(Integer craftPriceId) {
		this.craftPriceId = craftPriceId;
	}
	/**
	 * 获取：工艺价id
	 */
	public Integer getCraftPriceId() {
		return craftPriceId;
	}
	/**
	 * 设置：商户id
	 */
	public void setSellerId(Long sellerId) {
		this.sellerId = sellerId;
	}
	/**
	 * 获取：商户id
	 */
	public Long getSellerId() {
		return sellerId;
	}
	/**
	 * 设置：工艺选项id
	 */
	public void setOptionId(Long optionId) {
		this.optionId = optionId;
	}
	/**
	 * 获取：工艺选项id
	 */
	public Long getOptionId() {
		return optionId;
	}

	public BigDecimal getUnitPrice() {
		return unitPrice;
	}

	public void setUnitPrice(BigDecimal unitPrice) {
		this.unitPrice = unitPrice;
	}

	public BigDecimal getMinUnitPrice() {
		return minUnitPrice;
	}

	public void setMinUnitPrice(BigDecimal minUnitPrice) {
		this.minUnitPrice = minUnitPrice;
	}

	public BigDecimal getMinBeginPrice() {
		return minBeginPrice;
	}

	public void setMinBeginPrice(BigDecimal minBeginPrice) {
		this.minBeginPrice = minBeginPrice;
	}

	public BigDecimal getFixedPrice() {
		return fixedPrice;
	}

	public void setFixedPrice(BigDecimal fixedPrice) {
		this.fixedPrice = fixedPrice;
	}

	/**
	 * 设置：利润系数
	 */
	public void setFloatCoefficient(BigDecimal floatCoefficient) {
		this.floatCoefficient = floatCoefficient;
	}
	/**
	 * 获取：利润系数
	 */
	public BigDecimal getFloatCoefficient() {
		return floatCoefficient;
	}
	/**
	 * 设置：阶梯价系数
	 */
	public void setStepPrice(String stepPrice) {
		this.stepPrice = stepPrice;
	}
	/**
	 * 获取：阶梯价系数
	 */
	public String getStepPrice() {
		return stepPrice;
	}
	/**
	 * 设置：创建人
	 */
	public void setCreateName(String createName) {
		this.createName = createName;
	}
	/**
	 * 获取：创建人
	 */
	public String getCreateName() {
		return createName;
	}
	/**
	 * 设置：创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/**
	 * 获取：创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}

	public String getOptionName() {
		return optionName;
	}

	public void setOptionName(String optionName) {
		this.optionName = optionName;
	}

	public String getOptionOrigin() {
		return optionOrigin;
	}

	public void setOptionOrigin(String optionOrigin) {
		this.optionOrigin = optionOrigin;
	}

	public String getCraftSize() {
		return craftSize;
	}

	public void setCraftSize(String craftSize) {
		this.craftSize = craftSize;
	}

	public String getOptionValue() {
		return optionValue;
	}

	public void setOptionValue(String optionValue) {
		this.optionValue = optionValue;
	}

	public Integer getTemplateId() {
		return templateId;
	}

	public void setTemplateId(Integer templateId) {
		this.templateId = templateId;
	}

	public Integer getInfluenceId() {
		return influenceId;
	}

	public void setInfluenceId(Integer influenceId) {
		this.influenceId = influenceId;
	}

	public String getInfluenceName() {
		return influenceName;
	}

	public void setInfluenceName(String influenceName) {
		this.influenceName = influenceName;
	}

}
